/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.pay.entity.log;

import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 记录支付日志Entity
 * @author Egan
 * @version 2016-12-26
 */
public class EcPayLog extends DataEntity<EcPayLog> {
	
	private static final long serialVersionUID = 1L;
	private String orgCode;		// 域 公司编号
	private String logId;		// 域 日志编号
	private String paySeq;		// 域 银行交易流水号
	private String bankId;		// 域 银行编号
	private String bankName;    // 域 银行名称
	private String merChantid;  // 域 商户编号
	private String posId;		// 域 商户柜台编号
	private String branchId;    // 域 分号编号
	private String payDate;		// 域 支付日期
	private String payTime;		// 域 支付时间
	private String payType;		// 域 支付类型
	private String payFlag;		// 域 支付标志
	private String custCode;    // 域 零售户编码
	private String coNum;		// 域 订单编号
	private BigDecimal amount;  // 域 订单金额
	private String note;		// 注释
	private String batchNo;		// 域 交易批次号
	private String voucherNo;   // 域 交易凭证号
	private String userType;    // 域 支付用户类型
	private String payOrg;		// 域 支付Org
	private String accDate;		// 域 银行系统记账日期
	private String cardHolderName;		// 持卡人姓名
	private String payBankCardNo;		// 支付银行卡号
	private String orderNo;		// 对外商户号
	private String prolineChain;// 省行联号
	private String paySource;   // 支付来源
	private String payIp;		// 支付IP地址
	private Date updateTime;    // 平台更新支付记录时间
	
	public EcPayLog() {
		super();
	}

	public EcPayLog(String id){
		super(id);
	}

	@Length(min=0, max=64, message="域 公司编号长度必须介于 0 和 64 之间")
	public String getOrgCode() {
		return orgCode;
	}

	public void setOrgCode(String orgCode) {
		this.orgCode = orgCode;
	}
	
	@Length(min=0, max=64, message="域 日志编号长度必须介于 0 和 64 之间")
	public String getLogId() {
		return logId;
	}

	public void setLogId(String logId) {
		this.logId = logId;
	}
	
	@Length(min=0, max=64, message="域 银行交易流水号长度必须介于 0 和 64 之间")
	public String getPaySeq() {
		return paySeq;
	}

	public void setPaySeq(String paySeq) {
		this.paySeq = paySeq;
	}
	
	@Length(min=0, max=64, message="域 银行编号长度必须介于 0 和 64 之间")
	public String getBankId() {
		return bankId;
	}

	public void setBankId(String bankId) {
		this.bankId = bankId;
	}
	
	@Length(min=0, max=64, message="域 银行名称长度必须介于 0 和 64 之间")
	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}
	
	@Length(min=0, max=64, message="域 商户编号长度必须介于 0 和 64 之间")
	public String getMerChantid() {
		return merChantid;
	}

	public void setMerChantid(String merChantid) {
		this.merChantid = merChantid;
	}
	
	@Length(min=0, max=64, message="域 商户柜台编号长度必须介于 0 和 64 之间")
	public String getPosId() {
		return posId;
	}

	public void setPosId(String posId) {
		this.posId = posId;
	}
	
	@Length(min=0, max=64, message="域 分号编号长度必须介于 0 和 64 之间")
	public String getBranchId() {
		return branchId;
	}

	public void setBranchId(String branchId) {
		this.branchId = branchId;
	}
	
	@Length(min=0, max=64, message="域 支付日期长度必须介于 0 和 64 之间")
	public String getPayDate() {
		return payDate;
	}

	public void setPayDate(String payDate) {
		this.payDate = payDate;
	}
	
	@Length(min=0, max=64, message="域 支付时间长度必须介于 0 和 64 之间")
	public String getPayTime() {
		return payTime;
	}

	public void setPayTime(String payTime) {
		this.payTime = payTime;
	}
	
	@Length(min=0, max=64, message="域 支付类型长度必须介于 0 和 64 之间")
	public String getPayType() {
		return payType;
	}

	public void setPayType(String payType) {
		this.payType = payType;
	}
	
	@Length(min=0, max=64, message="域 支付标志长度必须介于 0 和 64 之间")
	public String getPayFlag() {
		return payFlag;
	}

	public void setPayFlag(String payFlag) {
		this.payFlag = payFlag;
	}
	
	@Length(min=0, max=64, message="域 零售户编码长度必须介于 0 和 64 之间")
	public String getCustCode() {
		return custCode;
	}

	public void setCustCode(String custCode) {
		this.custCode = custCode;
	}
	
	@Length(min=0, max=64, message="域 订单编号长度必须介于 0 和 64 之间")
	public String getCoNum() {
		return coNum;
	}

	public void setCoNum(String coNum) {
		this.coNum = coNum;
	}
	
	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	@Length(min=0, max=3000, message="注释长度必须介于 0 和 3000 之间")
	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}
	
	@Length(min=0, max=64, message="域 交易批次号长度必须介于 0 和 64 之间")
	public String getBatchNo() {
		return batchNo;
	}

	public void setBatchNo(String batchNo) {
		this.batchNo = batchNo;
	}
	
	@Length(min=0, max=64, message="域 交易凭证号长度必须介于 0 和 64 之间")
	public String getVoucherNo() {
		return voucherNo;
	}

	public void setVoucherNo(String voucherNo) {
		this.voucherNo = voucherNo;
	}
	
	@Length(min=0, max=64, message="域 支付用户类型长度必须介于 0 和 64 之间")
	public String getUserType() {
		return userType;
	}

	public void setUserType(String userType) {
		this.userType = userType;
	}
	
	@Length(min=0, max=64, message="域 支付Org长度必须介于 0 和 64 之间")
	public String getPayOrg() {
		return payOrg;
	}

	public void setPayOrg(String payOrg) {
		this.payOrg = payOrg;
	}
	
	@Length(min=0, max=64, message="域 银行系统记账日期长度必须介于 0 和 64 之间")
	public String getAccDate() {
		return accDate;
	}

	public void setAccDate(String accDate) {
		this.accDate = accDate;
	}
	
	@Length(min=0, max=64, message="持卡人姓名长度必须介于 0 和 64 之间")
	public String getCardHolderName() {
		return cardHolderName;
	}

	public void setCardHolderName(String cardHolderName) {
		this.cardHolderName = cardHolderName;
	}
	
	@Length(min=0, max=64, message="支付银行卡号长度必须介于 0 和 64 之间")
	public String getPayBankCardNo() {
		return payBankCardNo;
	}

	public void setPayBankCardNo(String payBankCardNo) {
		this.payBankCardNo = payBankCardNo;
	}
	
	@Length(min=0, max=64, message="对外商户号长度必须介于 0 和 64 之间")
	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	
	@Length(min=0, max=64, message="省行联号长度必须介于 0 和 64 之间")
	public String getProlineChain() {
		return prolineChain;
	}

	public void setProlineChain(String prolineChain) {
		this.prolineChain = prolineChain;
	}
	
	@Length(min=0, max=64, message="支付来源长度必须介于 0 和 64 之间")
	public String getPaySource() {
		return paySource;
	}

	public void setPaySource(String paySource) {
		this.paySource = paySource;
	}
	
	@Length(min=0, max=64, message="支付IP地址长度必须介于 0 和 64 之间")
	public String getPayIp() {
		return payIp;
	}

	public void setPayIp(String payIp) {
		this.payIp = payIp;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	
}